﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace API_CIC.Proyectos
{
    public partial class GestionProyectos : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            verificarUsuarios();
        }
        void verificarUsuarios()
        {
            SGAPFUSUARIO usu = (SGAPFUSUARIO)Session["user"];

            LinqDataSource3.Where = CapaControl.cRolesControl.verificarUsuario(usu);
            LinqDataSource3.DataBind();
        }
        protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
        {

            MultiView1.ActiveViewIndex = Int32.Parse(e.Item.Value);
            if (e.Item.Value == "0")
            {
                calFechaIni.SelectedDate = DateTime.Today;
                calFechaFin.SelectedDate = DateTime.Today;
                txtNombre.Text = "";
                txtAbstract.Text = "";
                txtResumen.Text = "";
                txtURL.Text = "";
            }
        }

        protected void btnIngresar_Click(object sender, EventArgs e)
        {
            
            CapaControl.cProyectosControl.IngresarProyecto(ddlCoordinador.SelectedValue,ddlEscuela.SelectedValue,
                                            calFechaFin.SelectedDate, calFechaIni.SelectedDate, txtNombre.Text,
                                            txtAbstract.Text, ddlCentro.SelectedValue, ddlEstado.SelectedValue, txtPrograma.Text,
                                            txtResumen.Text, ddlTipo.SelectedValue, txtURL.Text);

            Menu1.Items[0].Selected = true;
            MultiView1.ActiveViewIndex = 1;
            verificarUsuarios();
            GridView1.DataBind();
            
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            if (GridView1.SelectedValue != null)
            {
                SGAPFPROYECTO proyecto = CapaDatos.cProyectosDatos.GetProyecto(Int32.Parse(GridView1.SelectedValue.ToString()));
                ddlCoordinador0.SelectedValue = proyecto.COD_COORDINADOR.ToString();
                ddlEscuela0.SelectedValue = proyecto.COD_ESCUELA.ToString();
                calFechaFin0.SelectedDate = (DateTime)proyecto.FEC_FIN;
                calFechaIni0.SelectedDate = (DateTime)proyecto.FEC_INICIO;
                txtNombre0.Text = proyecto.NOM_PROYECTO;
                txtAbstract0.Text = proyecto.TXT_ABSTRACT;
                ddlCentro0.SelectedValue = proyecto.TXT_CENTRO;
                ddlEstado0.SelectedValue = proyecto.TXT_ESTADO;
                txtPrograma0.Text = proyecto.TXT_PROGRAMA;
                txtResumen0.Text = proyecto.TXT_RESUMEN;
                ddlTipo0.SelectedValue = proyecto.TXT_TIPO;
                txtURL0.Text = proyecto.TXT_URL;
                MultiView1.ActiveViewIndex = 2;
            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            CapaControl.cProyectosControl.Modificar(GridView1.SelectedValue.ToString(), ddlCoordinador0.SelectedValue, ddlEscuela0.SelectedValue,
                                            calFechaFin0.SelectedDate, calFechaIni0.SelectedDate, txtNombre0.Text,
                                            txtAbstract0.Text, ddlCentro0.SelectedValue, ddlEstado0.SelectedValue, txtPrograma.Text,
                                            txtResumen0.Text, ddlTipo0.SelectedValue, txtURL0.Text);
            
            
            MultiView1.ActiveViewIndex = 1;
            verificarUsuarios();
            GridView1.DataBind();
        }

        protected void GridView1_DataBinding(object sender, EventArgs e)
        {
            
        }

        protected void GridView1_Load(object sender, EventArgs e)
        {
            
        }

        protected void btnAsignarActivos_Click(object sender, EventArgs e)
        {
            MultiView1.ActiveViewIndex = 4;
        }

        protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (GridView2.SelectedValue != null)
            {
                SGAPFUSUARIO usu = CapaDatos.cUsuariosDatos.GetUsuario(Int32.Parse(GridView2.SelectedValue.ToString()));
                IEnumerator<SGAPFUSUARIO_ROL> usurol = CapaDatos.cProyectosDatos.GetProyectosRoles(usu.ID_CEDULA);//usu.SGAPFUSUARIO_ROLs.GetEnumerator();
                for (int i = 0; i < chkRoles.Items.Count; i++)
                    chkRoles.Items[i].Selected = false;
                while (usurol.MoveNext())
                {
                    if(usurol.Current.COD_PROYECTO == Int32.Parse(GridView1.SelectedValue.ToString()))
                        chkRoles.Items.FindByValue(usurol.Current.COD_ROL.ToString()).Selected = true;
                }
            }
        }

        protected void btnModificarUsuario_Click(object sender, EventArgs e)
        {
            
        }

        protected void btnAsignarRoles_Click(object sender, EventArgs e)
        {
            MultiView1.ActiveViewIndex = 3;
        }

        protected void btnGuardarRoles_Click(object sender, EventArgs e)
        {
            CapaControl.cRolesControl.GuardarRoles(GridView2.SelectedValue.ToString(), GridView1.SelectedValue.ToString(),
                                                   chkRoles.Items);
            
            
            verificarUsuarios();
            GridView1.DataBind();
            try
            {
                gvRolesAsignados.DataBind();
            }
            catch { 

            }

        }

        protected void chkActivos_Load(object sender, EventArgs e)
        {
           
           
        }

        protected void btnAsignarAct_Click(object sender, EventArgs e)
        {
        
            

                if (ListBox1.SelectedValue!=null)
                    CapaDatos.cActivosDatos.ModificarActProyecto(Int32.Parse(ListBox1.SelectedValue.ToString()), Int32.Parse(GridView1.SelectedValue.ToString()));

                LinqDataSource10.DataBind();
                LinqDataSource9.DataBind();
        }

        protected void btnAdministrarGaleria_Click(object sender, EventArgs e)
        {
            if (GridView1.SelectedValue != null)
            {
                Session["Proyecto"] = GridView1.SelectedValue.ToString();
                Response.Redirect("/Proyectos/GestionGaleria.aspx");
            }
        }

        protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
        {
            
        }

        protected void btnDesasignarAct_Click(object sender, EventArgs e)
        {


            if (ListBox2.SelectedValue != null)
                CapaDatos.cActivosDatos.Desasignar(Int32.Parse(ListBox2.SelectedValue.ToString()));
            LinqDataSource10.DataBind();
            LinqDataSource9.DataBind();
        }

        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void ListBox1_Load(object sender, EventArgs e)
        {
            if (GridView1.SelectedValue != null)
            {
                LinqDataSource9.Where += "COD_PROYECTO = NULL";
                LinqDataSource9.DataBind();
            }
        }

        protected void ListBox2_Load(object sender, EventArgs e)
        {
            if (GridView1.SelectedValue != null)
            {
                LinqDataSource10.Where += "COD_PROYECTO = " + GridView1.SelectedValue.ToString();
                LinqDataSource10.DataBind();
            }
        }

       

       

        
    }
}